

function tctOpenPopup(url, width, height, name) {
    if (name == undefined) {
        name = "_blank";
    }
    width = 1024;
    height = 650;
    _winRef = window.open(url, name, 'toolbar=no,titlebar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,copyhistory=yes,width=' +
        width + ',height=' + height + ',left=100,top=100,screenX=100,screenY=100', false);
    _winRef.focus();
    return _winRef;
}

function trimAll(sString) {
    if(sString == null)
        return sString;
    return trim(sString);
}

//Ham kiem tra fim Enter duoc nhap
//window.event.keyCode
// @ phongnh
function EnterPressed(e) {
    var characterCode
    if(e && e.which){           // Kiem tra danh cho NN4
        e = e
        characterCode = e.which
    }
    else {
        e = event
        characterCode = e.keyCode // Kiem tra danh cho IE
    }
    if (characterCode == 13) return true   //Ma cua phim Enter la 13
    else return false
}
// Ham bo qua phim Enter trong textArea
// window.event.keyCode
function ignoreEnterKey(sString){
//
}

//---- ham kiem tra xem mot obj co la date ko
function isDateFormat(value) 
{ 
    var date=value.substr(0,10);                

    // Regular expression used to check if date is in correct format 
    var pattern = new RegExp(/^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{4}$/); 

    // kiem tra date
    if(date.match(pattern)){ 
        var date_array = date.split('/');            
        var day = date_array[0]; 

        // Attention! Javascript consider months in the range 0 - 11 
        var month = date_array[1] - 1; 
        var year = date_array[2]; 

        // This instruction will create a date object 
        var source_date = new Date(year,month,day);

        if(year != source_date.getFullYear()) 
        { 
            return false; 
        } 

        if(month != source_date.getMonth()) 
        { 
            return false; 
        } 

        if(day != source_date.getDate()) 
        { 
            return false; 
        } 
    }else {
        return false; 
    }

    // kiem tra time

    if(value.length>10){

        var time=value.substr(11);

        if(time.length ==8){

            var hour=time.substr(0,2);

            var minute=time.substr(3,2);

            var second=time.substr(6);     



            if(parseInt(hour, 10) > 23 && parseInt(hour, 10) < 0){

                return false;

            }

            if(parseInt(minute, 10) > 60 && parseInt(minute, 10) < 0){

                return false;

            }

            if(parseInt(second, 10) > 60 && parseInt(second, 10) < 0){

                return false;

            }

        }else{

            return false;

        }

    }



    return true; 

}

	

function isNum(inpString) {

    return /^[-+]?\d+(\d+)?$/.test(inpString);

}
function isInteger(s)

{
    var i;

    for (i = 0; i < s.length; i++)

    {   

            // Check that current character is number.

            var c = s.charAt(i);

            if (((c < "0") || (c > "9"))) return false;

        }

    // All characters are numbers.

    return true;

}
function validateDate(obj,msg){

    var checkString = obj.value;

    checkString = trimAll(checkString);

    if (checkString != ""){
        var strMsg = (msg != null && msg != undefined) ? msg : 'Dữ liệu ngày tháng phải theo định dạng dd/mm/yyyy';
        if (!isDateFormat(checkString)){
            alert (strMsg);
            setTimeout(function(){
                obj.focus();obj.select();
            },0);
            return false;
        }

    }

    return true;
}

//Chỉ cho phép nhập ký tự chữ
function isCharacterKey(e)
{
    if (!e) e = window.event;
    var charCode;
    if (e.keyCode) charCode = e.keyCode;
    else if (e.which) charCode = e.which;
    var arrValidKeys = new Array (
        8,//backspace
        9,//tab
        13,//enter
        16,//shift
        17,//ctrl
        18,//alt
        35,//end
        36,//home
        37,//left arrow
        38,//up arrow
        39,//right arrow
        40,//down arrow
        45,//insert
        46,//delete
        65,
        66,
        67,
        68,
        69,
        70,
        71,
        72,
        73,
        74,
        75,
        76,
        77,
        78,
        79,
        80,
        81,
        82,
        83,
        84,
        85,
        86,
        87,
        88,
        89,
        90,
        97,
        98,
        99,
        100,
        101,
        102,
        103,
        104,
        105,
        106,
        107,
        108,
        109,
        110,
        111,
        112,
        113,
        114,
        115,
        116,
        117,
        118,
        119,
        120,
        121,
        122
        );
    var strValidKeys=arrValidKeys.join(',');
    strValidKeys=','+strValidKeys+',';
    var targ;
    if (e.target) targ = e.target;
    else if (e.srcElement) targ = e.srcElement;

    if(strValidKeys.indexOf(','+charCode + ',')>-1)
    {
        if(targ.value=='0' && (charCode == 48 || charCode == 96) )
        {
            return false;
        }
        return true;
    }
    return false;
}

//Chỉ cho phép nhập số nguyên
function isNumberKey(e)
{
    if (!e) e = window.event;
    var charCode;
    if (e.keyCode) charCode = e.keyCode;
    else if (e.which) charCode = e.which;
    var arrValidKeys = new Array (
        8,//backspace
        9,//tab
        13,//enter
        16,//shift
        17,//ctrl
        18,//alt
        35,//end
        36,//home
        37,//left arrow
        38,//up arrow
        39,//right arrow
        40,//down arrow
        45,//insert
        46,//delete
        48,//0
        49,//1
        50,//2
        51,//3
        52,//4
        53,//5
        54,//6
        55,//7
        56,//8
        57,//9
        96,//numpad 0
        97,//numpad 1
        98,//numpad 2
        99,//numpad 3
        100,//numpad 4
        101,//numpad 5
        102,//numpad 6
        103,//numpad 7
        104,//numpad 8
        105//numpad 9
        );
    var strValidKeys=arrValidKeys.join(',');
    strValidKeys=','+strValidKeys+',';
    var targ;
    if (e.target) targ = e.target;
    else if (e.srcElement) targ = e.srcElement;

    if(strValidKeys.indexOf(','+charCode + ',')>-1)
    {
        if(targ.value=='0' && (charCode == 48 || charCode == 96) )
        {
            return false;
        }
        return true;
    }
    return false;
}

//chỉ cho phép nhập số thực
function isDecimalNumberKey(e)
{
    if (!e) e = window.event;
    var charCode;
    if (e.keyCode) charCode = e.keyCode;
    else if (e.which) charCode = e.which;
    var arrValidKeys = new Array (
        8,//backspace
        9,//tab
        13,//enter
        16,//shift
        17,//ctrl
        18,//alt
        35,//end
        36,//home
        37,//left arrow
        38,//up arrow
        39,//right arrow
        40,//down arrow
        45,//insert
        46,//delete
        48,//0
        49,//1
        50,//2
        51,//3
        52,//4
        53,//5
        54,//6
        55,//7
        56,//8
        57,//9
        96,//numpad 0
        97,//numpad 1
        98,//numpad 2
        99,//numpad 3
        100,//numpad 4
        101,//numpad 5
        102,//numpad 6
        103,//numpad 7
        104,//numpad 8
        105,//numpad 9
        110,//numpad punch
        190//period
        );
    var strValidKeys=arrValidKeys.join(',');
    strValidKeys=','+strValidKeys+',';
    var targ;
    if (e.target) targ = e.target;
    else if (e.srcElement) targ = e.srcElement;

    if(strValidKeys.indexOf(','+charCode + ',')>-1)
    {
        if(targ.value=='0'&& (charCode == 48 || charCode == 96  ))
        {
            return false;
        }
        if((targ.value=='' ||targ.value.indexOf('.'))>-1&& (charCode == 190 || charCode == 110 ) )
        {
            return false;
        }
        return true;
    }
    return false;
}
function validatePositiveNumber(obj,msg, noAlert){

    var checkString = obj.value;

    checkString = trimAll(checkString);

    if (checkString != "")
    {
        if(checkString.endsWith('.0')){
            checkString = checkString.replace('.0','')
        }
        if (!isNum(checkString) || parseFloat(checkString) <= 0)
        {
            var strMsg = (msg != null && msg != undefined) ? msg : 'Dữ liệu phải là số nguyên dương!';
            if(noAlert == undefined) {
                alert (strMsg);
            }
            setTimeout(function(){
                obj.focus();obj.select();
            },0);
            return false;
        }
    }

    return true;
}
function validateUnsignedNumber(obj,msg, noAlert){

    var checkString = obj.value;

    checkString = trimAll(checkString);

    if (checkString != "")
    {
        var strMsg = (msg != null && msg != undefined) ? msg : 'Dữ liệu phải là số tự nhiên!';
        if (!isNum(checkString) || parseInt(checkString, 10) < 0)
        {
            if(noAlert == undefined) {
                alert (strMsg);
            }
            setTimeout(function(){
                obj.focus();obj.select();
            },0);
            return false;
        }
    }

    return true;
}
//----- ham so sanh xem date1 co nho hon date2 ko?
function compareDates(date1,date2){ 

    var arrayDate1 = date1.split("/");

    var arrayDate2 = date2.split("/");



    var nam1   = parseFloat(arrayDate1[2]);

    var nam2   = parseFloat(arrayDate2[2]);

    var thang1 = parseFloat(arrayDate1[1]);

    var thang2 = parseFloat(arrayDate2[1]);

    var ngay1  = parseFloat(arrayDate1[0]);

    var ngay2  = parseFloat(arrayDate2[0]);



    if(nam1 < nam2){

        return true;

    }



     

    if(nam1 == nam2){

        if(thang1 < thang2){

            return true;

        }



        if(thang1 == thang2){

            if(ngay1 < ngay2){

                return true;

            }

        }

    }     



    return false;

}


//----- ham so sanh xem date1 co nho hon date2 ko?
function compareDateTimes(date1,date2){ 

    var arrayDate1 = date1.split("/");

    var arrayDate2 = date2.split("/");



    var nam1   = parseFloat(arrayDate1[2].split(" ")[0]);

    var nam2   = parseFloat(arrayDate2[2].split(" ")[0]);

    var thang1 = parseFloat(arrayDate1[1]);

    var thang2 = parseFloat(arrayDate2[1]);

    var ngay1  = parseFloat(arrayDate1[0]);

    var ngay2  = parseFloat(arrayDate2[0]);

    var h1   = parseFloat(arrayDate1[2].split(" ")[1].split(":")[0]);

    var h2   = parseFloat(arrayDate2[2].split(" ")[1].split(":")[0]);

    var m1   = parseFloat(arrayDate1[2].split(" ")[1].split(":")[1]);

    var m2   = parseFloat(arrayDate2[2].split(" ")[1].split(":")[1]);


    if(nam1 < nam2){

        return true;

    }



     

    if(nam1 == nam2){

        if(thang1 < thang2){

            return true;

        }



        if(thang1 == thang2){

            if(ngay1 < ngay2){

                return true;

            }

            if(ngay1 == ngay2){

                if(h1 < h2){

                    return true;

                }

                if(h1 == h1){

                    if(m1 < m2){

                        return true;

                    }

                }
            }
        }

    }     



    return false;

}
function confirmDelete()

{

    var agree=confirm("Bạn có chắc chắn muốn hủy các bản ghi này không?");

    if (agree)
    {

        return true;
    }

    else
    {
        return false;
    }

}
function confirmReset()

{

    var agree=confirm("Các thông tin mới sẽ bị xóa. Bạn có chắc chắn muốn khôi phục không?");

    if (agree)
    {

        window.location.reload();
        return true;
    }

    else
    {
        return false;
    }

}
function confirmDo()

{

    var agree=confirm("Bạn có chắc chắn muốn thực hiện không?");

    if (agree)
    {

        return true;
    }

    else
    {
        return false;
    }

}
//
function confirmAccept(msg)
{
    var agree=confirm(msg);
    if (agree)
    {
        return true;
    }
    else
    {
        return false;
    }
}
function checkNumber(obj,msg){

    if(!isInteger(obj.value)){
        var strMsg = (msg != null && msg != undefined) ? msg : 'Dữ liệu phải là số nguyên';
        alert(strMsg);
        return false;

    }else{

        return true;

    }

}
// ham kiem tra so thap phan
function checkDouble(obj,msg)
{
    var sText = obj.value;
    if(trimAll(sText) == '') return true;

    var pattern = /\b[-+]?[0-9]+[.]?[0-9]*([eE][-+]?[0-9]+)?\b/;
    if ( sText.match(pattern)==null )
    {
        var strMsg = (msg != null && msg != undefined) ? msg : 'Dữ liệu phải là số thực';
        invalid(obj, true, strMsg);
        return false;
    }
    else
        return true;

}
function testDouble(obj) {
    var sText = trimAll(obj.value);
    var ValidChars = "0123456789.";
    var IsDouble=true;
    var Char;
    var count = 0;

    if (sText == null)
        return true;

    for (var i = 0; i < sText.length && IsDouble == true; i++)
    {
        Char = sText.charAt(i);
        if (ValidChars.indexOf(Char) == -1)
        {
            IsDouble = false;
        }
        if(Char == '.'){
            count = count + 1;
        }
    }
    if(count > 1){
        IsDouble = false;
    }
    return IsDouble;
}
function validatePositiveDouble(obj , msg, noAlert)
{
    var IsDouble = testDouble(obj);

    if (IsDouble && trimAll(obj.value) != '')
    {
        IsDouble = parseFloat(obj.value) > 0;
    }
    if(!IsDouble)
    {
        var strMsg = (msg != null && msg != undefined) ? msg : 'Dữ liệu phải là số thập phân dương!';
        if(noAlert == undefined) {
            alert (strMsg);
        }
        setTimeout(function(){
            obj.focus();obj.select();
        },0);
        return false;
    }
    return true;

}
function validateUnsignedDouble(obj,msg, noAlert)
{
    var IsDouble = testDouble(obj);

    if (IsDouble && trimAll(obj.value) != '')
    {
        IsDouble = parseFloat(obj.value) >= 0;
    }
    if(!IsDouble){
        var strMsg = (msg != null && msg != undefined) ? msg : 'Dữ liệu phải là số thập phân không âm!';
        if(noAlert == undefined) {
            alert (strMsg);
        }
        setTimeout(function(){
            obj.focus();obj.select();
        },0);
        return false;
    }
    return true;

}
function checkHour(obj,msg){

    if(!checkNumber(obj)){

        return false;

    }

    if(parseInt(obj.value, 10) > 24 || parseInt(obj.value, 10) < 0)
    {
        var strMsg = (msg != null && msg != undefined) ? msg : 'Giá trị giờ phải lớn hơn 0 và nhỏ hơn 24';
        alert(strMsg);
        return false;
    }else{

        return true;

    }

}
function checkMinute(obj,msg){

    if(!checkNumber(obj)){

        return false;

    }

    if(parseInt(obj.value, 10) > 60 || parseInt(obj.value, 10) < 0){
        var strMsg = (msg != null && msg != undefined) ? msg : 'Giá trị phút phải lớn hơn 0 và nhỏ hơn 60';
        alert(strMsg);

        return false;

    }else{

        return true;

    }

}
function invalid(obj, focus)
{
    if (obj != undefined)
    {
        if(obj.value == null || trimAll(obj.value) == ''){
            alert("Bạn phải nhập đầy đủ các thông tin bắt buộc!");
            if (focus)
            {
                setTimeout(function(){
                    obj.focus();obj.select();
                },0);
            }
            return false;
        }
    }
        
    return true;
}  
function invalidMsg(obj, focus)
{
    alert("Bạn phải nhập đầy đủ các thông tin bắt buộc!");
    if (focus)
    {
        setTimeout(function(){
            obj.focus();obj.select();
        },0);
    }
}  
function invalidNumber(obj, focus,msg)
{
    if (obj != undefined)
    {
        if(obj.value == null || trimAll(obj.value) == '' || parseInt(obj.value, 10) == 0)
        {
            var strMsg = (msg != null && msg != undefined) ? msg : 'Bạn phải nhập đầy đủ các thông tin bắt buộc!';
            alert(strMsg);
            if (focus)
            {
                setTimeout(function(){
                    obj.focus();obj.select();
                },0);
            }
            return false;
        }
    }
        
    return true;
}  
function days_between(date1, date2) {

    var arrayDate1 = date1.split("/");

    var arrayDate2 = date2.split("/");



    var startYear   = parseFloat(arrayDate1[2]);

    var endYear   = parseFloat(arrayDate2[2]);

    var startMonth = parseFloat(arrayDate1[1]);

    var endMonth = parseFloat(arrayDate2[1]);

    var startDay  = parseFloat(arrayDate1[0]);

    var endDay  = parseFloat(arrayDate2[0]);

        

    var start = new Date(startYear,startMonth-1,startDay);

    var stop  = new Date(endYear,endMonth-1,endDay);

    var diff  = (stop - start) / (1000 * 60 * 60 * 24);

    	

    return diff;

}
/**
 * @author 
 * check onblur
 */
function t_checkNum(obj,mess) {   
    var inputStr = obj.value;	
    if (!t_isNumber(inputStr)) {
        alert(mess);
        obj.value = '';
        setTimeout(function(){
            obj.focus();obj.select();
        },0);   //puts pointer on field error
        return false;
    }		
    return true;
}

/**
 * @author 
 * iterate through string making sure each character is a number
 */
function t_isNumber(inputStr) {   
    try {
        var f= parseFloat(inputStr);
        if(isNaN(f)){
            return false;
        }
        return true;
    } catch (exception) { 
        return false;
    }
}

/**
 * @author 
 * check empty
 */
function t_isEmpty(obj,mess) {
    if ((obj.value.length==0) ||
        (obj.value== "")) {
        alert(mess);
        setTimeout(function(){
            obj.focus();obj.select();
        },0);   //puts pointer on field error
        return false;
    }
    else 
    { 
        return true; 
    }
}
/**
 * @author 
 * focus
 */
    
function t_setFocus(aField) {
    document.forms[0][aField].focus();
}

  
function oPopup(object,link1, link2){
    var dk = document.getElementById(object);
    if(parseInt(dk.value, 10) == 1){
        self.openPopup(link1,'800','600');
    }else{
        self.openPopup(link2,'800','600');
    }
}
function oConditionPopup(object,link1, link2, width, height){
    var dk = document.getElementById(object);
    if(parseInt(dk.value, 10) == 1){
        self.openPopup(link1,width,height);
    }else{
        self.openPopup(link2,width,height);
    }
}

/**
 * @author 
 * Ham chuan hoa chuoi khi nhap
 */
function trim(str) {
    str = str.replace(/^\s\s*/, '');
    var ws = /\s/,
    i = str.length;
    while (ws.test(str.charAt(--i)));
    return str.slice(0, i + 1);
}

function formatString(str)
{
    str = trimAll(str);
    var l, r, ws = /\s/;
    l = str.indexOf(" ");
    while(l > -1)
    {        
        r = l;
        while (ws.test(str.charAt(++r)));
        str = (str.slice(0, l + 1) + str.charAt(r) + str.slice(r + 1, str.length));
        l = str.indexOf(" ", l + 2);
    }
    return str;
}
//Kiem tra so nguyen duong va tra ve focus
function checkNumber(obj){
    if(!isInteger(obj.value)){
        alert("Dữ liệu phải là số nguyên dương");
        obj.value="";   
        setTimeout(function(){
            obj.focus();obj.select();
        },1);
        return false;
    }else{
        return true;
    }
}
//Kiem tra ngay thang nhap vao voi ngay thang hien tai
function validateChooseDate(obj)
{
    var date = new Date();
    var d = date.getDate() >=10?date.getDate() : "0"+date.getDate();
    var m = ( parseInt(date.getMonth()+1, 10) >=10 ?(parseInt(date.getMonth()+1, 10)) : "0"+(parseInt(date.getMonth(), 10)+1));
    var y = date.getFullYear();
    var currentTime = d+"/"+m+"/"+y;                                         
    if(!compareStartDate(trim(obj.value),trim(currentTime))){
        alert("Ngày được chọn không thể lớn hơn ngày hiện tại!");
        obj.value ="";    
        setTimeout(function(){
            obj.focus();obj.select();
        },0);
                
    }
}
//Kiem tra dinh dang so dien thoai
function isMobileNumber(obj){  
    var mobile = obj.value;       
    if(mobile != null && trim(mobile).length > 0   ){
        var fCheck = mobile.substring(0,1);        
        if( isInteger(trim(mobile))  ){
            var strMsg = "";
            if((parseInt(fCheck, 10) == 0)){
                strMsg = "Số thuê bao không được bắt đầu là số 0!";
                alert(strMsg);
                obj.value ="";
                setTimeout(function(){
                    obj.focus();obj.select();
                },0);
            }else 
            if(trim(mobile).length > 11){
                strMsg ="Chiều dài phải nhỏ hơn 12 số!";
                alert(strMsg);
                obj.value ="";
                setTimeout(function(){
                    obj.focus();obj.select();
                },0);
            }
        }else{
            alert("Số thuê bao phải là số!");
            obj.value ="";
            setTimeout(function(){
                obj.focus();obj.select();
            },0);
        }
    }      
}

function showMessage() {
    // display success message
    Element.show('msgResultJavaScript');
    setTimeout("Effect.SwitchOff('msgResultJavaScript');", 2000);
 
}
function validateNumberFormat(obj, length, scale, showAlert)
{
    if(isNaN(obj.value)){
        //Khong phai dang so
        return true;
    }
    else
    {
        if(parseFloat(obj.value) < 0){
            return true;
        }
        var error = false;
        var realLength = obj.value.length;
        var prec = (length - scale - 1);// precision
        var dotPos =  parseInt(obj.value.indexOf('.'), 10);
        if(dotPos == -1){//Khong co dau cham
            //validate precision
            if(realLength > prec){
                error = true;
            }
        }
        else //co dau cham
        {
            //validate precesion
            if (dotPos > prec){
                error = true;
            }
            else{
                var realScale = realLength - (dotPos + 1);
                if(realScale > scale){
                    error = true;
                }
            }
        }
        if(error && showAlert != undefined) {
            var strAlert = showAlert;
            strAlert += "\nSố lượng chữ số phần nguyên không được vượt quá " + (prec) + " chữ số.";
            strAlert += "Số lượng chữ số phần thập phân không được vượt quá " + (scale) + " chữ số.";
            alert(strAlert);
            setTimeout(function(){
                obj.focus();obj.select();
            },0);
        }
        return !error;
    }
    return true;
}

function disableFor(object){
    Element.hide(object);
}
    
function showFor(object){
    Element.show(object);
}
function invalid(obj, focus,message)
{
    if(message)
        alert(message);
    if (focus)
    {
        setTimeout(function(){
            obj.focus();obj.select();
        },0);
    }
}
function compareDatesEqual(date1,date2) {
    var arrayDate1 = date1.split("/");
    var arrayDate2 = date2.split("/");

    var nam1   = parseFloat(arrayDate1[2]);
    var nam2   = parseFloat(arrayDate2[2]);
    var thang1 = parseFloat(arrayDate1[1]);
    var thang2 = parseFloat(arrayDate2[1]);
    var ngay1  = parseFloat(arrayDate1[0]);
    var ngay2  = parseFloat(arrayDate2[0]);

    if(nam1 < nam2){
        return true;
    }
    if(nam1 == nam2){
        if(thang1 < thang2){
            return true;
        }
        if(thang1 == thang2){
            if(ngay1 <= ngay2){
                return true;
            }
        }
    }
    return false;
}
//Kiểm tra chiều dài hợp lệ của trường dữ liệu nhập vào
function validateMaxLength(obj, max_length, fieldName) {
    if(obj.value.length > max_length) {
        var alertStr = "";
        if(fieldName != undefined) {
            alertStr = "Độ dài trường " + fieldName;
        }
        else {
            alertStr = "Độ dài trường ghi chú";
        }
        alertStr += " không được vượt quá " + max_length + " kí tự.";
        alert(alertStr);
        setTimeout(function(){
            obj.focus();obj.select();
        },0);
        return false;
    }
    return true;
}
//Giới hạn số lượng kí tự tối đa được phép nhập vào text area
function limitTextAreaInput(obj,maxLength,evt){
    var charCode = (evt.which) ? evt.which : event.keyCode
    var mlength=maxLength;
    var controlKeyChar=',0,7,8,9,10,12,13,27,127,';
    if (obj.value.length>mlength && controlKeyChar.indexOf(','+charCode+',') == -1)
        return false;
    return true;
}

//khong cho phep nhap qua so luong ky tu cho phep
function textareaCounter( field, maxlimit ,msg )
{
    field.value = trimAll(field.value);
    //end code html
    //myEncodeHtml(field);
    if ( field.value.length > maxlimit)
    {
        field.value = field.value.substring( 0, maxlimit );
        alert('Độ dài trường ' + msg + ' không được vượt quá ' + maxlimit + ' ký tự!\nHệ thống đã tự động cắt bỏ số ký tự vượt giới hạn cho phép.');
        //unEncode de hien thi tro lai
        //myUnEncodedHtml(field);
        setTimeout(function(){
            field.focus();field.select();
        },0);
        return false;
    }
    return true;
}

function isRealPositiveNumber(obj){
    var checkString = obj.value;
    checkString = trimAll(checkString);
    if (checkString != "")
    {
        if (!isNum(checkString) || parseInt(checkString,10) <= 0)
        {
            return false;
        }
    }
    return true;
}
function checkNotNullFieldReadOnly(obj){
    if(obj.value == null || obj.value == '' || obj.value == 0){
        obj.removeAttribute('readonly');
        obj.focus();
        obj.setAttribute('readonly', true);
        return false;
    }
    return true;
}

//----- ham so sanh xem date1 co nho hon date2 ko? va thuc hien focus vao truong date position =(date1:1,date2:2)
function compareTwoDates(date1,date2,position){
    var arrayDate1 = date1.value.split("/");
    var arrayDate2 = date2.value.split("/");

    var nam1   = parseFloat(arrayDate1[2]);
    var nam2   = parseFloat(arrayDate2[2]);
    var thang1 = parseFloat(arrayDate1[1]);
    var thang2 = parseFloat(arrayDate2[1]);
    var ngay1  = parseFloat(arrayDate1[0]);
    var ngay2  = parseFloat(arrayDate2[0]);
    var isError = false;
    if(nam1 < nam2){
        isError = true;
    }
    if(nam1 == nam2){
        if(thang1 < thang2){
            isError = true;
        }
        if(thang1 == thang2){
            if(ngay1 < ngay2){
                isError = true;
            }
        }
    }
    if(isError == true){
        if(position == 2){
            date2.removeAttribute('readonly');
            date2.focus();
            date2.setAttribute('readonly', true);
        }
        else{
            date1.removeAttribute('readonly');
            date1.focus();
            date1.setAttribute('readonly', true);
        }
        return true;

    }
    return false;
}

function myEncodeHtml(obj) {
    var objValue = escape(obj.value);
    objValue = objValue.replace(/\//g,"%2F");
    objValue = objValue.replace(/\?/g,"%3F");
    objValue = objValue.replace(/=/g,"%3D");
    objValue = objValue.replace(/&/g,"%26");
    objValue = objValue.replace(/@/g,"%40");
    obj.value = objValue
}
function myUnEncodedHtml(obj) {
    obj.value = unescape(obj.value);
}

//
function isNumberKeyStroke(e){
    if (!e) e = window.event;

    if (e.target) targ = e.target;
    else if (e.srcElement) targ = e.srcElement;
    var charCode;

    if (navigator.userAgent.indexOf('MSIE') > -1) {
        charCode = e.keyCode;
    }
    else{
        charCode = e.which;
    }
    if( !charCode || charCode == 0 || charCode == 8 ){
        return true;
    }
    if(isNaN(String.fromCharCode(charCode)) || targ.value=='0' ){
        if(e.ctrlKey){
            return true;
        }
        return false;
    }
    return true;
}
function isDecNumberKeyStroke(e){
    if (!e) e = window.event;

    if (e.target) targ = e.target;
    else if (e.srcElement) targ = e.srcElement;
    var charCode;

    if (navigator.userAgent.indexOf('MSIE') > -1) {
        charCode = e.keyCode;
    }
    else{
        charCode = e.which;
    }
    if( !charCode || charCode == 0 || charCode == 8 ){
        return true;
    }
    if(!String.fromCharCode(charCode) == '.'){
        if(isNaN(String.fromCharCode(charCode)) || targ.value=='0' ){
            if(e.ctrlKey){
                return true;
            }
            return false;
        }
    }
    else{
        if(targ.value == ''){
            return false;
        }
    }
    return true;
}
// check ngay hien tai
function tctCompareToCurrentDate(date1) {
    var currentDate = new Date();
    var d = currentDate.getDate();
    var m = currentDate.getMonth() + 1;
    var y = currentDate.getFullYear();

    var arrayDate1 = date1.split("/");
    var nam1   = parseFloat(arrayDate1[2]);
    var thang1 = parseFloat(arrayDate1[1]);
    var ngay1  = parseFloat(arrayDate1[0]);

    if (nam1 < y) {
        return -1;
    } else if (nam1 > y) {
        return 1;
    } else {
        if (thang1 < m) {
            return -1;
        } else if (thang1 > m) {
            return 1;
        } else {
            if (ngay1 < d) {
                return -1;
            } else if (ngay1 > d) {
                return 1;
            } else {
                return 0;
            }
        }
    }
}
/**
 * Ham mo popup.
 * @param url Dia chi URL cua popup
 * @param width Chieu rong cua popup
 * @param height Chieu cao cua popup
 * @param name Ten cua cua so mo
 * @return void
 * @author 
 */
function ctOpenPopup(url, width, height, name) {
    if (name == undefined) {
        name = "_blank";
    }
    _winRef = window.open(url, name, 'toolbar=no,titlebar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,copyhistory=yes,width=' +
        width + ',height=' + height + ',left=100,top=100,screenX=100,screenY=100', false);
    _winRef.focus();
    return _winRef;
}